4626541 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

おびやまロボット研究所 ~マイコン電子工作と自作ドローン~

おびやまロボット研究所 ~マイコン電子工作と自作ドローン~

おまけ,タイム自動計測

マイクロマウスのタイム自動計測用回路を作製します.

始めに,シリアル通信の実験.
可能な限り簡単にシリアル通信で外部基板からPCに信号を取り込みたいと思って,PICを使ったシリアル通信をやってみました.

使用したのは,PIC16F84A,USARTは付いてません.
なので,シリアル通信のパターンをプログラムで作成して送信します.
回路図は,こんな感じ.
レベル変換用のMAX232などは使用せず,トランジスタと抵抗分割で,0±約5V(電源電圧に依存)の信号をつくりましたが,PC側がうまく受信してくれました.
(なぜなら,手持ちが無かったし安くすませたいから)
DSC00794.JPG

回路をブレッドボードで作成したところ.
DSC00791.JPG

信号の波形例

Copy_3.JPG

PCに接続して,ターミナルアプリを起動します.

DSC00786.JPG

通信速度は,19200bps,バイナリモードで信号を取り込むと,このように,スイッチのON-OFFで読み込まれるデータが変化しました.

DSC00789.JPG

プログラムはこの位です.
MPLAB上でC言語による開発,コンパイラはPICC-LITEです.

DSC00797.JPG

マイクロマウス大会の時間計測に使うのですが,PCでストップウォッチのプログラムを組んで,シリアルポートからスタート・ストップの信号を取り込むとして,どの位の精度で計測できるのか・・・?
やってみないとわからないので,とりあえずやってみます.

次は赤外線センサの実験.
指向性のある赤外線フォトダイオードとフォトトランジスタでは
長距離まで検出可能なようですが,調整が難しそうなので,
指向性があまりないフォトダイオードを使ってみました.
最初は感度調整のボリュームを入れていましたが,固定倍率でも
ON-OFFだけなら検出できそうです.
別に迷路をライトで照らすつもりもないですし.

あとは,ON-OFFを昨日作ったシリアル通信でPCに送って,
VBでプログラムを組めば,低コストで自動計測ができそうです.
問題は,応答速度と時間の確度ですが,相対的に不公平がなければ
問題ないのでは,と思っています.
たぶん,人がストップウォッチで測るよりはましでしょう.

DSC00803.JPG

センサを支柱に仕込みます.
こんな感じで支柱の加工とセンサ取り付けをしました.
注文した卓上ボール盤がくるまでは,手回しドリルでがんばります.

DSC00805.JPG

横から穴を開けて,

DSC00808.JPG

下からも穴を開けて,

DSC00809.JPG

こんな風に配線を通して,

DSC00810.JPG

先に赤外線LEDを取り付けます.

DSC00811.JPG

表面の赤外LED.

DSC00813.JPG

裏面は紙を貼って穴を塞ぎ,

DSC00814.JPG

赤外線フォトトランジスタも仕込んでワンペア完成.

DSC00816.JPG

3ペア作っておけば,スタートとゴール2箇所はセンスできます.

DSC00817.JPG

心配なのは,赤外LEDの光軸の広がりと裏からのわずかな漏れがマウスの走行に悪影響を与えないか?


回路の製作
とりあえずテスト用に,9V電池とセンサ1ペアを直付け.

DSC00818.JPG

シリアル信号が出ていることを確認.

DSC00820.JPG

光を受けると1ビット分反転してます.

DSC00819.JPG


こんな感じでプログラムを組んでみました.
あと2日くらいかければ完成しそうです.
持ち時間内で5回走行して,タイムを記録し,ランキングを出すプログラム.

mousekeisoku.JPG

その後いろいろ手直しして動作しました.
あとは,迷路の組み込んで,プログラムの作り込みと,
計測に失敗したときの対処をすれば完成.
最後まで行かないうちに本業の論文の修正を要求されたので,
次はそっちにかかりっきりになりそうです...

初期画面
DSC00821.JPG

スタートセンサを横切ったところ.
DSC00823.JPG

ゴールセンサを横切ったところ.
DSC00824.JPG

一度スタート・ゴールしたら,また自動計測を再セットしないといけないように
つくってあります.

動画はこちら



© Rakuten Group, Inc.